package com.dynamictpm.notify;

/**
 * 描述：： 事件发布
 * <p>
 * ------------------------------------
 *
 * @program: dynamic-tpm
 * @ClassName EventPublisher
 * @author: it-yml
 * @create: 2023-07-05 16:14
 * @Version 1.0
 * --------------------------------------
 **/
public interface EventPublisher {
    void init(Class<? extends Event> type, int bufferSize);

    void addSubscriber(Subscriber subscriber);

    boolean publish(Event event);

    void notifySubscriber(Subscriber subscriber, Event event);
}
